﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Twitterizer;

public partial class Pages_twitterLogin : System.Web.UI.Page
{
    private TwitterAPI twitterAPI = new TwitterAPI();

    protected void Page_Load(object sender, EventArgs e)
    {
        OAuthTokenResponse tokens = twitterAPI.obtenerTokensDuranteCallback();
        
        string userAccessToken = tokens.Token;
        string userAccessSecret = tokens.TokenSecret;
        string userName = tokens.ScreenName;
        decimal userId = tokens.UserId;
        Usuario usuario;
        UsuarioServices usuarioServices = new UsuarioServices();

        try
        {

            usuario = usuarioServices.BuscarUsuarioTwitter(userAccessToken, userAccessSecret);
            TwitterUser twitterUser = twitterAPI.ObtenerUsuarioTwitter(usuario);

            usuario.UrlFotoPerfil = twitterUser.ProfileImageLocation;
            usuarioServices.ActualizarUsuarioTwitter(usuario);
        }
        catch (UsuarioTwitterInexistenteException ex)
        {
            usuario = new Usuario();
            TipoUsuarioServices tipoUsuarioServices = new TipoUsuarioServices();
            TipoUsuario tipoUsuario = tipoUsuarioServices.buscarTipoUsuarioPorDescripcion(TwitterAPI.TIPO_USUARIO_TWITTER);
            usuario.Id_twitter = userAccessToken;
            usuario.Id_twitter_secret = userAccessSecret;
            usuario.Nombre = userName;
            usuario.Tipo_usuario_id = tipoUsuario.Id;
            usuario.TwitterIdentification = userId;
            usuario.Apellido = " ";
            TwitterUser twitterUser = twitterAPI.ObtenerUsuarioTwitter(usuario);

            usuario.UrlFotoPerfil = twitterUser.ProfileImageLocation;
            usuarioServices.AgregarUsuarioTwitter(usuario);
            usuario.Id_usuario = usuarioServices.BuscarUsuarioTwitter(usuario.Id_twitter, usuario.Id_twitter_secret).Id_usuario;
            
            
            twitterAPI.actualizarEstado(usuario, "Acabo de registrarme en Comunarte! Visiten el sitio! http://localhost:1222/trunk/Pages/Inicio.aspx");
            
        }
        HttpContext.Current.Session["IdUsuario"] = usuario.Id_usuario;
        Response.Redirect("Home2.aspx");
        
    }

    
}